# Foreign Interfaces

SoLoud can be used from various environments through a "C" API DLL.

In order to use SoLoud from a different environment, such as Python or BlitzMax, 
you need the SoLoud DLL and a wrapper. The wrappers for SoLoud are not made
by hand, but instead generated through Python scripts. This minimizes hassle
when SoLoud gets new features, as the new wrappers can simply be generated via
the scripts.

Some foreign interfaces may be more complex, such as the GameMaker:Studio, which
only supports variable types double and char*. For such, we generate a glue DLL
to act as translator between GameMaker:Studio and the SoLoud "C" API DLL.

All of the glue libraries, and scripts to generate them, can be found under the 
"glue" directory. The only exception to this rule is the C api, which is located
under "src/c_api".
